package com.zhiche.lisa.bms.dao.model.bill;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 账单
 * </p>
 *
 * @author liuanshun
 * @since 2018-09-14
 */
@TableName("lisa_bill")
public class Bill extends Model<Bill> {

    private static final long serialVersionUID = 1L;

	@TableId(value="id", type= IdType.AUTO)
	private Long id;
    /**
     * 账单属性 (0正式/1差价/2调整/3单费用)
     */
	@TableField("bill_prop")
	private Integer billProp;
    /**
     * 账单编号
     */
	@TableField("bill_code")
	private String billCode;
    /**
     * 对应账单编码
     */
	@TableField("customer_bill_code")
	private String customerBillCode;
    /**
     * 对应账单id
     */
	@TableField("customer_bill_id")
	private Long customerBillId;
    /**
     * 账单类型：10-应收账单、20-应付账单
     */
	@TableField("bill_type")
	private String billType;
    /**
     * 账单状态：10-未对账 20-已出账, 30-已确认, 40-已结算, 50-已取消, 60-对账不平
     */
	@TableField("bill_status")
	private String billStatus;
    /**
     * 应付账单属性：10-承运商、20-车队、30-司机
     */
	@TableField("bill_property")
	private Integer billProperty;
    /**
     * 账单总金额
     */
	@TableField("gross_amt")
	private BigDecimal grossAmt;
    /**
     * 扣款总金额
     */
	@TableField("deduct_sum")
	private BigDecimal deductSum;
    /**
     * 数量
     */
	private Integer num;
    /**
     * 付款方id
     */
	@TableField("payer_id")
	private Long payerId;
    /**
     * 付款方名称
     */
	@TableField("payer_name")
	private String payerName;
    /**
     * 收款方id
     */
	@TableField("payee_id")
	private Long payeeId;
    /**
     * 收款方名称
     */
	@TableField("payee_name")
	private String payeeName;
    /**
     * 账单版本
     */
	@TableField("bill_version")
	private Long billVersion;
	private Long proprietor;
	@TableField("tenant_id")
	private Long tenantId;
    /**
     * 下单时间
     */
	@TableField("order_date")
	private Date orderDate;
    /**
     * 创建时间
     */
	@TableField("gmt_create")
	private Date gmtCreate;
    /**
     * 修改时间
     */
	@TableField("gmt_modify")
	private Date gmtModify;
    /**
     * 创建人
     */
	private Long creator;
    /**
     * 创建人
     */
	@TableField("create_user")
	private String createUser;
    /**
     * 是否删除0\否 1\是
     */
	@TableField("is_delete")
	private Integer isDelete;
    /**
     * 客户是否确认；0-否 1-是 2-取消
     */
	@TableField("is_affirm")
	private Integer isAffirm;
    /**
     * 是否锁定-0否、1-是
     */
	@TableField("is_lock")
	private Integer isLock;


	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Integer getBillProp() {
		return billProp;
	}

	public void setBillProp(Integer billProp) {
		this.billProp = billProp;
	}

	public String getBillCode() {
		return billCode;
	}

	public void setBillCode(String billCode) {
		this.billCode = billCode;
	}

	public String getCustomerBillCode() {
		return customerBillCode;
	}

	public void setCustomerBillCode(String customerBillCode) {
		this.customerBillCode = customerBillCode;
	}

	public Long getCustomerBillId() {
		return customerBillId;
	}

	public void setCustomerBillId(Long customerBillId) {
		this.customerBillId = customerBillId;
	}

	public String getBillType() {
		return billType;
	}

	public void setBillType(String billType) {
		this.billType = billType;
	}

	public String getBillStatus() {
		return billStatus;
	}

	public void setBillStatus(String billStatus) {
		this.billStatus = billStatus;
	}

	public Integer getBillProperty() {
		return billProperty;
	}

	public void setBillProperty(Integer billProperty) {
		this.billProperty = billProperty;
	}

	public BigDecimal getGrossAmt() {
		return grossAmt;
	}

	public void setGrossAmt(BigDecimal grossAmt) {
		this.grossAmt = grossAmt;
	}

	public BigDecimal getDeductSum() {
		return deductSum;
	}

	public void setDeductSum(BigDecimal deductSum) {
		this.deductSum = deductSum;
	}

	public Integer getNum() {
		return num;
	}

	public void setNum(Integer num) {
		this.num = num;
	}

	public Long getPayerId() {
		return payerId;
	}

	public void setPayerId(Long payerId) {
		this.payerId = payerId;
	}

	public String getPayerName() {
		return payerName;
	}

	public void setPayerName(String payerName) {
		this.payerName = payerName;
	}

	public Long getPayeeId() {
		return payeeId;
	}

	public void setPayeeId(Long payeeId) {
		this.payeeId = payeeId;
	}

	public String getPayeeName() {
		return payeeName;
	}

	public void setPayeeName(String payeeName) {
		this.payeeName = payeeName;
	}

	public Long getBillVersion() {
		return billVersion;
	}

	public void setBillVersion(Long billVersion) {
		this.billVersion = billVersion;
	}

	public Long getProprietor() {
		return proprietor;
	}

	public void setProprietor(Long proprietor) {
		this.proprietor = proprietor;
	}

	public Long getTenantId() {
		return tenantId;
	}

	public void setTenantId(Long tenantId) {
		this.tenantId = tenantId;
	}

	public Date getOrderDate() {
		return orderDate;
	}

	public void setOrderDate(Date orderDate) {
		this.orderDate = orderDate;
	}

	public Date getGmtCreate() {
		return gmtCreate;
	}

	public void setGmtCreate(Date gmtCreate) {
		this.gmtCreate = gmtCreate;
	}

	public Date getGmtModify() {
		return gmtModify;
	}

	public void setGmtModify(Date gmtModify) {
		this.gmtModify = gmtModify;
	}

	public Long getCreator() {
		return creator;
	}

	public void setCreator(Long creator) {
		this.creator = creator;
	}

	public String getCreateUser() {
		return createUser;
	}

	public void setCreateUser(String createUser) {
		this.createUser = createUser;
	}

	public Integer getIsDelete() {
		return isDelete;
	}

	public void setIsDelete(Integer isDelete) {
		this.isDelete = isDelete;
	}

	public Integer getIsAffirm() {
		return isAffirm;
	}

	public void setIsAffirm(Integer isAffirm) {
		this.isAffirm = isAffirm;
	}

	public Integer getIsLock() {
		return isLock;
	}

	public void setIsLock(Integer isLock) {
		this.isLock = isLock;
	}

	@Override
	protected Serializable pkVal() {
		return this.id;
	}

	@Override
	public String toString() {
		return "Bill{" +
			", id=" + id +
			", billProp=" + billProp +
			", billCode=" + billCode +
			", customerBillCode=" + customerBillCode +
			", customerBillId=" + customerBillId +
			", billType=" + billType +
			", billStatus=" + billStatus +
			", billProperty=" + billProperty +
			", grossAmt=" + grossAmt +
			", deductSum=" + deductSum +
			", num=" + num +
			", payerId=" + payerId +
			", payerName=" + payerName +
			", payeeId=" + payeeId +
			", payeeName=" + payeeName +
			", billVersion=" + billVersion +
			", proprietor=" + proprietor +
			", tenantId=" + tenantId +
			", orderDate=" + orderDate +
			", gmtCreate=" + gmtCreate +
			", gmtModify=" + gmtModify +
			", creator=" + creator +
			", isDelete=" + isDelete +
			", isAffirm=" + isAffirm +
			", isLock=" + isLock +
			"}";
	}
}
